package study.android.studyandroid.dto;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import tq.vmds.data.entity.ContactPhone;
import tq.vmds.data.entity.TqFence;
import tq.vmds.protocol.tq911.msg.param.KeyboardSetting;
import tq.vmds.protocol.tq911.msg.param.TrackTimesheet;
import tq.vmds.protocol.tq911.msg.param.WeeklyTimesheet;

/**
 * 终端详细资料
 *
 * @author Gophern
 *
 */
public class TerminalInfo {
	/**
	 * 终端序列号<br/>
	 **/
	private String serial; // 终端序列号

	/**
	 * 终端记录ID<br/>
	 * 服务器上的TermRecId<br/>
	 **/
	private BigDecimal termRecId; // 终端记录ID

	/**
	 * 心跳报到间隔（单位：秒）<br/>
	 * 由D1控制<br/>
	 **/
	private Integer heartbeatInterval; // 心跳报到间隔（单位：秒）
	/**
	 * 紧急号码<br/>
	 **/
	private List<ContactPhone> emergencyPhones; // 紧急号码
	/**
	 * 作息时间表<br/>
	 * S45<br/>
	 **/
	private List<TrackTimesheet> trackTimesheets; // 作息时间表
	/**
	 * 按键设置<br/>
	 * S45_S_1<br/>
	 **/
	private KeyboardSetting kbdSetting; // 按键设置
	/**
	 * 白名单启停设置<br/>
	 * S45_S_5<br/>
	 **/
	private Boolean whiteListEnabled; // 白名单启停设置
	/**
	 * 电子围栏参数<br/>
	 * S45_S_6<br/>
	 **/
	private List<TqFence> fences; // 电子围栏参数
	/**
	 * 用户时区偏移设置（单位：分钟）<br/>
	 * S45_S_7<br/>
	 **/
	private Integer tzOffset; // 用户时区偏移设置（单位：分钟）
	/**
	 * 围栏总开关<br/>
	 **/
	private Boolean fenceEnabled; // 围栏总开关
	/**
	 * 通讯服务器主机名<br/>
	 **/
	private String serverHost; // 通讯服务器主机名
	/**
	 * 通讯服务器IP地址<br/>
	 **/
	private String serverIp; // 通讯服务器IP地址
	/**
	 * 通讯服务器端口号<br/>
	 **/
	private Integer serverPort; // 通讯服务器端口号
	/**
	 * 白名单<br/>
	 **/
	private List<ContactPhone> whiteList; // 白名单
	/**
	 * 设备工作模式<br/>
	 **/
	private Integer workMode; // 设备工作模式
	/**
	 * 周选择<br/>
	 * Integer[7]<br/>
	 **/
	private WeeklyTimesheet weeklySelections; // 周选择
	/**
	 * 平台鉴权码<br/>
	 **/
	private String authCode; // 平台鉴权码
	/**
	 * 状态掩码<br/>
	 **/
	private Long statusMask; // 状态掩码
	/**
	 * 传感器模式<br/>
	 **/
	private Long sensorMode; // 传感器模式
	/**
	 * 设备类型编码<br/>
	 **/
	private String deviceTypeCode; // 设备类型编码
	/**
	 * 终端载体分类ID<br/>
	 **/
	private Integer carrierTypeID; // 终端载体分类ID
	/**
	 * IMEI号<br />
	 */
	private String imei; // IMEI号

	Date modifyTime;

	// --

	public Date getModifyTime() {
		return modifyTime;
	}

	public void setModifyTime(Date modifyTime) {
		this.modifyTime = modifyTime;
	}

	/**
	 * 终端序列号<br/>
	 **/
	public String getSerial() {
		return serial;
	}

	/**
	 * 终端记录ID<br/>
	 * 服务器上的TermRecId<br/>
	 **/
	public BigDecimal getTermRecId() {
		return termRecId;
	}

	/**
	 * 心跳报到间隔（单位：秒）<br/>
	 * 由D1控制<br/>
	 **/
	public Integer getHeartbeatInterval() {
		return heartbeatInterval;
	}

	/**
	 * 紧急号码<br/>
	 **/
	public List<ContactPhone> getEmergencyPhones() {
		return emergencyPhones;
	}

	/**
	 * 作息时间表<br/>
	 * S45<br/>
	 **/
	public List<TrackTimesheet> getTrackTimesheets() {
		return trackTimesheets;
	}

	/**
	 * 按键设置<br/>
	 * S45_S_1<br/>
	 **/
	public KeyboardSetting getKbdSetting() {
		return kbdSetting;
	}

	/**
	 * 白名单启停设置<br/>
	 * S45_S_5<br/>
	 **/
	public Boolean isWhiteListEnabled() {
		return whiteListEnabled;
	}

	/**
	 * 电子围栏参数<br/>
	 * S45_S_6<br/>
	 **/
	public List<TqFence> getFences() {
		return fences;
	}

	/**
	 * 用户时区偏移设置（单位：分钟）<br/>
	 * S45_S_7<br/>
	 **/
	public Integer getTzOffset() {
		return tzOffset;
	}

	/**
	 * 围栏总开关<br/>
	 **/
	public Boolean isFenceEnabled() {
		return fenceEnabled;
	}

	/**
	 * 通讯服务器主机名<br/>
	 **/
	public String getServerHost() {
		return serverHost;
	}

	/**
	 * 通讯服务器IP地址<br/>
	 **/
	public String getServerIp() {
		return serverIp;
	}

	/**
	 * 通讯服务器端口号<br/>
	 **/
	public Integer getServerPort() {
		return serverPort;
	}

	/**
	 * 白名单<br/>
	 **/
	public List<ContactPhone> getWhiteList() {
		return whiteList;
	}

	/**
	 * 设备工作模式<br/>
	 **/
	public Integer getWorkMode() {
		return workMode;
	}

	/**
	 * 周选择<br/>
	 * Integer[7]<br/>
	 **/
	public WeeklyTimesheet getWeeklySelections() {
		return weeklySelections;
	}

	/**
	 * 平台鉴权码<br/>
	 **/
	public String getAuthCode() {
		return authCode;
	}

	/**
	 * 状态掩码<br/>
	 **/
	public Long getStatusMask() {
		return statusMask;
	}

	/**
	 * 传感器模式<br/>
	 **/
	public Long getSensorMode() {
		return sensorMode;
	}

	/**
	 * 设备类型编码<br/>
	 **/
	public String getDeviceTypeCode() {
		return deviceTypeCode;
	}

	/**
	 * 终端载体分类ID<br/>
	 **/
	public Integer getCarrierTypeID() {
		return carrierTypeID;
	}

	/**
	 * IMEI号<br />
	 *
	 * @return
	 */
	public String getImei() {
		return imei;
	}

	/**
	 * 终端序列号<br/>
	 **/
	public void setSerial(String serial) {
		this.serial = serial;
	}

	/**
	 * 终端记录ID<br/>
	 * 服务器上的TermRecId<br/>
	 **/
	public void setTermRecId(BigDecimal termRecId) {
		this.termRecId = termRecId;
	}

	/**
	 * 心跳报到间隔（单位：秒）<br/>
	 * 由D1控制<br/>
	 **/
	public void setHeartbeatInterval(Integer heartbeatInterval) {
		this.heartbeatInterval = heartbeatInterval;
	}

	/**
	 * 紧急号码<br/>
	 **/
	public void setEmergencyPhones(List<ContactPhone> emergencyPhones) {
		this.emergencyPhones = emergencyPhones;
	}

	/**
	 * 作息时间表<br/>
	 * S45<br/>
	 **/
	public void setTrackTimesheets(List<TrackTimesheet> trackTimesheets) {
		this.trackTimesheets = trackTimesheets;
	}

	/**
	 * 按键设置<br/>
	 * S45_S_1<br/>
	 **/
	public void setKbdSetting(KeyboardSetting kbdSetting) {
		this.kbdSetting = kbdSetting;
	}

	/**
	 * 白名单启停设置<br/>
	 * S45_S_5<br/>
	 **/
	public void setWhiteListEnabled(Boolean whiteListEnabled) {
		this.whiteListEnabled = whiteListEnabled;
	}

	/**
	 * 电子围栏参数<br/>
	 * S45_S_6<br/>
	 **/
	public void setFences(List<TqFence> fences) {
		this.fences = fences;
	}

	/**
	 * 用户时区偏移设置（单位：分钟）<br/>
	 * S45_S_7<br/>
	 **/
	public void setTzOffset(Integer tzOffset) {
		this.tzOffset = tzOffset;
	}

	/**
	 * 围栏总开关<br/>
	 **/
	public void setFenceEnabled(Boolean fenceEnabled) {
		this.fenceEnabled = fenceEnabled;
	}

	/**
	 * 通讯服务器主机名<br/>
	 **/
	public void setServerHost(String serverHost) {
		this.serverHost = serverHost;
	}

	/**
	 * 通讯服务器IP地址<br/>
	 **/
	public void setServerIp(String serverIp) {
		this.serverIp = serverIp;
	}

	/**
	 * 通讯服务器端口号<br/>
	 **/
	public void setServerPort(Integer serverPort) {
		this.serverPort = serverPort;
	}

	/**
	 * 白名单<br/>
	 **/
	public void setWhiteList(List<ContactPhone> whiteList) {
		this.whiteList = whiteList;
	}

	/**
	 * 设备工作模式<br/>
	 **/
	public void setWorkMode(Integer workMode) {
		this.workMode = workMode;
	}

	/**
	 * 周选择<br/>
	 * Integer[7]<br/>
	 **/
	public void setWeeklySelections(WeeklyTimesheet weeklySelections) {
		this.weeklySelections = weeklySelections;
	}

	/**
	 * 平台鉴权码<br/>
	 **/
	public void setAuthCode(String authCode) {
		this.authCode = authCode;
	}

	/**
	 * 状态掩码<br/>
	 **/
	public void setStatusMask(Long statusMask) {
		this.statusMask = statusMask;
	}

	/**
	 * 传感器模式<br/>
	 **/
	public void setSensorMode(Long sensorMode) {
		this.sensorMode = sensorMode;
	}

	/**
	 * 设备类型编码<br/>
	 **/
	public void setDeviceTypeCode(String deviceTypeCode) {
		this.deviceTypeCode = deviceTypeCode;
	}

	/**
	 * 终端载体分类ID<br/>
	 **/
	public void setCarrierTypeID(Integer carrierTypeID) {
		this.carrierTypeID = carrierTypeID;
	}

	/**
	 * IMEI号<br />
	 *
	 * @param imei
	 */
	public void setImei(String imei) {
		this.imei = imei;
	}
}
